/* eslint-disable @typescript-eslint/no-namespace */
// tslint:disable-next-line:no-namespace

namespace Studycodemodel {
  /**
   * 编程语言及其编译/运行选项接口
   */
  export interface Ilang {
    /** C 语言选项 */
    C: (option: Ioptiontimes) => Promise<Ilangtype>;
    /** CPP 语言选项 */
    CPP: (option: Ioptiontimes) => Promise<Ilangtype>;
    /** Python 语言标识 */
    Python: 'Python';
    /** C++ 语言选项 */
    'C++': (option: Ioptiontimes) => Promise<Ilangtype>;
  }

  /**
   * 所有可能的评测结果类型
   */
  export type IALLTYPE = {
    /** Accepted - 答案正确 */
    AC: ['AC', 'Accepted'];
    /** Unaccepted - 未接受 (自定义?) */
    UN: ['UN', 'Unaccepted'];
    /** Wrong Answer - 答案错误 */
    WA: ['WA', 'WrongAnswer'];
    /** Runtime Error - 运行时错误 */
    RE: ['RE', 'RuntimeError'];
    /** Compile Error - 编译错误 */
    CE: ['CE', 'CompileError'];
    /** Time Limit Exceeded - 超出时间限制 */
    TLE: ['TLE', 'TimeLimitExceeded'];
    /** Memory Limit Exceeded - 超出内存限制 */
    MLE: ['MLE', 'MemoryLimitExceeded'];
    /** Waiting - 等待评测 (Codeforces) */
    WT: ['WT', 'Waiting'],
    /** Rejected - 拒绝 (Codeforces) */
    RJ: ['RJ', 'Rejected'],
  };

  /**
   * 评测资源限制和选项接口
   */
  export interface Ioptiontimes {
    /** 最大内存限制 (单位: KB) */
    max_memory?: number;
    /** 最大 CPU 时间限制 (单位: ms) */
    max_cpu_time?: number;
    /** 最大真实时间限制 (单位: ms) */
    max_real_time?: number;
    /** 文件名 (用于文件读写) */
    filename?: string
    /** GCC 优化选项 */
    gccoptimize?: '-O0' | '-O' | '-O2' | '-O3'
  }

  /**
   * 语言特定配置接口
   */
  export interface Ilangtype {
    /** 时间相关路径 (?) */
    time_path: string;
    /** 代码模板 */
    template: string;
    /** 源文件名 */
    src_name: string;
    /** 可执行文件名 */
    exe_name: string;
    /** 最大 CPU 时间限制 (单位: ms) */
    max_cpu_time: number;
    /** 最大真实时间限制 (单位: ms) */
    max_real_time: number;
    /** 最大内存限制 (单位: KB) */
    max_memory: number;
    /** 编译命令生成函数 */
    compile_command: (str: string) => string;
  }

  /**
   * 通过的提交记录接口
   */
  export interface Iaccepted {
    /** 记录 ID */
    ID?: number;
    /** 题目 ID */
    questionid?: number;
    /** 提交内容 (代码) */
    context?: string;
    /** 提交用户信息 */
    formuser?: Record<string, any>;
    /** 题目名称 */
    questionname?: string;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 编程语言 */
    language?: string;
    /** 提交内容的 HTML 格式 */
    htmlcontext?: string;
    /** 关联的运行记录 */
    acceptedrun?: Iacceptedrun[];
    /** 是否完全通过 (AC) */
    isac?: boolean;
  }

  /**
   * 通过提交的运行记录接口
   */
  export interface Iacceptedrun {
    /** 记录 ID */
    ID?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 运行信息 (详细结果或字符串) */
    info?: Iuserquestioninfo | string;
    /** 关联的通过提交 ID */
    acceptedid?: number;
    /** 属性 (?) */
    attrs?: string;
  }

  /**
   * 活动/比赛接口
   */
  export interface Iactivity {
    /** 活动 ID */
    ID?: number;
    /** 活动名称 */
    name?: string;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 活动描述 */
    context?: string;
    /** 创建者用户 ID */
    userid?: number;
    /** 活动相关 URL */
    url?: string;
    /** 活动类型: 'public' (公开), 'limit' (限制) */
    type?: 'public' | 'limit';
    /**
     * 
     */
    questiontype?: 0 | 1;
    /**
     * 报名开始时间
     */
    signupstarttime?: Date;
    /**
     * 报名结束时间
     */
    signupendtime?: Date;
    /**
     * 比赛开始时间
     */
    activitystarttime?: Date;
    /**
     * 比赛结束时间
     */
    activityendtime?: Date;
    /** 活动横幅图片 URL */
    banner?: string;
    /** 关联的比赛题库 */
    matchquestionbank?: Imatchquestionbank[];
    /** 参与活动的用户 */
    activityuser?: Iactivityuser[];
    /**
     * 赛制 (例如: 'ICPC', 'OI', 'IOI')
     */
    format?: string
    /** 参与活动的用户数量 */
    activityusercount?: number
    /**
     * 比赛结果状态: 0 (未开始), 1 (进行中), 2 (已结束), 3 (?), 4 (?)
     */
    result?: 0 | 1 | 2 | 3 | 4;
    /**
     * 分数配置 (已弃用?)
     */
    score?: Iactivityscore;
    /**
     * 是否在列表中显示
     */
    isshow?: boolean;
    /**
     * 用户是否可以看见此活动
     */
    usershow?: boolean;
    /**
     * 关联的团队 ID
     */
    teamid?: number;
    /**
     * 比赛中的用户提交记录
     */
    matchuserquestion?: Imatchuserquestion[];
    /**
     * 创建者用户信息
     */
    user?: Iuser;
    /**
     * 关联的团队信息
     */
    team?: Iteam;
    /**
     * 活动描述的 HTML 格式
     */
    htmlcontext?: string;
    /**
     * 是否开启排行榜
     */
    isranking?: boolean;
    /** 是否有公告 */
    isnotice?: boolean;
    /**
     * 是否显示题目名称 (比赛进行中)
     */
    isshowquestionname?: boolean
    /**
     * 是否允许下载: 0 (不允许), 1 (仅管理员), 2 (所有人)
     */
    isdownload?: 0 | 1 | 2 | 3 //0不能下载 1管理员下载 2 所有人可以下载
    /**
     * 比赛时长 (分钟)
     */
    duration?: number
    /**
     * 比赛邀请码
     */
    invitation?: string
    /**
     * 有比赛邀请码时是否显示报名内容
     */
    isinvitation?: boolean
    /**
     * 参与比赛可获得的积分
     */
    integral?: number
    /**
     * 是否开启代码查重
     */
    isduplicate?: boolean

    /**
     * 是否仅测试示例测试点
     */
    isexample?: boolean
    /**
     * 默认编程语言
     */
    language?: keyof Ilang
    /**
     * 是否允许比赛评论/讨论
     */
    isapplication?: boolean
    /**
     * 报名所需信息/内容
     */
    applicationcontext?: string
    /**
     * 报名内容的 HTML 格式
     */
    htmlapplicationcontext?: string
    /**
     * 是否展示题单列表
     */
    isshowactivityquestionbank?: boolean
    /**
     * 是否默认开启 O2 优化
     */
    iso2?: boolean
    /**
     * 相关文件 (?)
     */
    file?: string
    /**
     * 客服 ID
     */
    customerserviceid?: number
    /** 客服信息 */
    customerservice?: Icustomerservice
    /**
     * 是否需要文件读写 (针对题目)
     */
    isfile?: boolean
    /** 租户 ID */
    tenant_id?: string
    /** 标签 ID 列表 */
    label?: number[]

    /**
     * 赛中是否显示题目得分状态
     * 1: 提交时不展示该题是否 AC 或得分
     * 2: 提交时展示该题是否全 AC (只要不全 AC 均显示未通过)
     * 3: 提交时展示该题得分，不展示各个测试点得分情况
     * 4: 提交时展示该题得分，并且展示各个测试点得分情况
     */
    show_ac_status?: 1 | 2 | 3 | 4
    /**
     * 是否显示题目内容 (比赛期间)
     */
    isshowquestion?: boolean

    /**
     * 赛中是否显示排行榜
     */
    isrank?: boolean
    /**
     * 是否允许查看用户代码 (比赛结束后)
     */
    iswatchcode?: boolean
    /**
     * 比赛其他信息 (JSON 格式)
     */
    info?: Record<string, any>
  }

  /**
   * 比赛讨论/评论接口
   */
  export interface Imatchcomment {
    /** 评论 ID */
    ID?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 用户 ID */
    userid?: number;
    /** 活动 ID */
    activityid?: number;
    /** 评论内容 */
    context?: string;
    /** 评论内容的 HTML 格式 */
    htmlcontext?: string;
    /** 父评论 ID (用于回复) */
    pid?: number;
    /** 点赞数 */
    fabulous?: number;
    /** 评论者用户信息 */
    user?: Iuser;
    /** 关联的活动信息 */
    activity?: Iactivity;
    // /** 点赞此评论的用户列表 */
    // fabulouscomment?: Ifabulouscomment[];
    /** 是否置顶 */
    top?: boolean;
    /** 状态 (例如: 0 待审核, 1 通过, 2 拒绝) */
    state?: number
    /** 审核意见/信息 */
    examine?: string
    /** 回复此评论的列表 */
    matchcommenta?: Imatchcomment[]
    /** 拒绝原因 */
    rejectreason?: string
  }

  /**
   * 进行中的活动状态接口 (似乎与用户相关)
   */
  export interface Iactivitying {
    /** 记录 ID */
    ID?: number;
    /** 活动 ID */
    activityid?: number;
    /** 用户 ID */
    userid?: number;
    /** 是否完成 */
    iscomplete?: boolean;
    /** 内容 (?) */
    context?: string;
    /** 信息 (?) */
    info?: string;
    /** 得分 (?) */
    df?: string;
    /** A 数据 (?) */
    adata?: string;
    /** B 数据 (?) */
    bdata?: string;
    /** C 数据 (?) */
    cdata?: string;
    /** D 数据 (?) */
    ddata?: string;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 开始时间 */
    starttime?: Date
    /** 结束时间 */
    endtime?: Date
  }

  /**
   * 活动分数配置接口 (按题型)
   */
  export interface Iactivityscore {
    /** 键为题型名称 */
    [key: string]: number;
    /** 判断题分数 */
    判断: number;
    /** 单选题分数 */
    单选: number;
    /** 多选题分数 */
    多选: number;
  }

  /**
   * 活动关联文章接口
   */
  export interface Iactivityarticle {
    /** 关联 ID */
    ID?: number;
    /** 活动 ID */
    activityid?: number;
    /** 文章 ID */
    articleid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 关联的活动信息 */
    activity?: Iactivity;
    /** 关联的文章信息 */
    article?: Iarticle;
  }

  /**
   * 活动关联题库接口
   */
  export interface Iactivityquestionbank {
    /** 关联 ID */
    ID?: number;
    /** 活动 ID */
    activityid?: number;
    /** 题库 ID */
    questionbankid?: number;
    /** 关联的活动信息 */
    activity?: Iactivity;
    /** 关联的题库信息 */
    questionbank?: Iquestionbank;
  }

  /**
   * 活动参与用户接口
   */
  export interface Iactivityuser {
    /** 关联 ID */
    ID?: number;
    /** 活动 ID */
    activityid?: number;
    /** 用户 ID */
    userid?: number;
    /** 关联的活动信息 */
    activity?: Iactivity;
    /** 关联的用户信息 */
    user?: Iuser;
    /** 创建时间 (报名时间) */
    createdAt?: Date;
  }

  /**
   * 文章/公告接口
   */
  export interface Iarticle {
    /** 文章 ID */
    ID?: number;
    /** 显示类型: '0' (?), '1' (?), '2' (?) */
    showtype?: '0' | '1' | '2';
    /** 置顶级别 (数字越大越靠前) */
    top?: number;
    /** 文章标题 */
    name: string;
    /** 作者用户 ID */
    userid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 发布时间 */
    releasetime?: Date;
    /** 阅读次数 */
    readnumber?: number;
    /** 文章内容 */
    context?: string;
    /** 阅读次数 (?) */
    readnumberride?: number;
  }

  /**
   * 题目类型定义
   */
  export type Iquestiontype = '单选' | '代码' | '判断' | '多选' | '填空' | '排序' | '拍照';

  /**
   * 题目接口
   */
  export interface Iquestion {
    /** 题目 ID */
    ID?: number;
    /** 题目类型 */
    type?: Iquestiontype;
    /** 题目描述 (Markdown) */
    context?: string;
    /** 题目描述 (HTML) */
    htmlcontext?: string;
    /** 答案 (选择题/填空题) */
    answer?: { answer: string | number | boolean | string[]; options: string[] };
    /** 答案解析 */
    answeranalysis?: string;
    /** 知识点标签 */
    knowledgepoints?: string[];
    /** 普通标签 */
    label?: string[];
    /** 难度: '1' (最易) 到 '7' (最难) */
    difficulty?: '1' | '2' | '3' | '4' | '5' | '6' | '7';
    /** 测试用例 (完整) */
    testcases?: Itestcases[];
    /** 内存限制 (MB) */
    memorylimit?: number;
    /** 时间限制 (ms) */
    timelimit?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 正确选项键 (?) */
    rightkey?: number;
    /** 题目名称 */
    name?: string;
    /** 提示 */
    tips?: string;
    /** 背景描述 */
    background?: string;
    /** 输入格式描述 */
    inputformat?: string;
    /** 输出格式描述 */
    outputformat?: string;
    /** 创建者用户 ID */
    userid?: number;
    /** 创建者团队 ID */
    teamid?: number;
    /** 题目范围/来源: 'public' (公开), 'team' (团队), 'match' (比赛), 'user' (用户), 'codeforces', 'accoder' */
    range?: 'public' | 'team' | 'match' | 'user' | 'codeforces' | 'accoder';
    /** 是否公开 */
    isopen?: boolean;
    /** 分数计算方式: 'add' (累加), 'max' (取最大), 'min' (取最小), 'maxmin' (?) */
    scorecalculation?: 'add' | 'max' | 'min' | 'maxmin';
    /** 数据格式 (?) */
    dataform?: string;
    /** 附加信息 (?) */
    info?: string;
    /** 关联的题库 */
    questionquestionbank?: Iquestionquestionbank[];
    /** 关联的标签 */
    questionlabel?: Iquestionlabel[];
    /** 关联的团队信息 */
    team?: Iteam;
    /** 关联的用户信息 */
    user?: Iuser;
    /** 测试用例数量 */
    testcaseslength?: number;
    /** 题目来源 (文字描述) */
    source?: string;
    /** 代码类型 (?) */
    codetype?: string;
    /** 数据格式 ID (?) */
    dataformid?: string;
    /** 是否使用 Special Judge */
    isspecialjudge?: boolean
    /** Special Judge 程序 ID */
    specialjudgeid?: number
    /** Special Judge 程序信息 */
    specialjudge?: Ispecialjudge
    /** 时间 (?) */
    time?: string
    /** 比赛名称 (如果来自比赛) */
    matchname?: string
    /**
     * 错误提示 (Markdown)
     */
    errormessage?: string
    /**
     * 错误提示 (HTML)
     */
    htmlerrormessage?: string
    /**
     * 用户备注 (金币相关?)
     */
    goldremarks?: string
    /**
     * 是否团队成员可见: 0 (私有), 1 (团队成员可见), 2 (?), 3 (?)
     */
    isteamshow?: 0 | 1 | 2 | 3
    /**
     * 示例测试用例
     */
    exampletest?: Itestcases[]

    /**
     * 示例代码模板
     */
    codetemplates?: string
    /**
     * 是否移除输出末尾的空格
     */
    isremoveendblank?: boolean
    /**
     * 评测模式 (例如: 'standard', 'spj', 'interactive')
     */
    judgecasemode?: string

    /**
     * 用户代码依赖的额外文件
     */
    userextrafile?: string
    /**
     * 评测机依赖的额外文件
     */
    judgeextrafile?: string
    /**
     * 子任务计分方式: 'add' (分数累加), 'group' (按组计分, 组内全对才得分)
     */
    subtask?: 'add' | 'group'
    /**
     * 是否是比赛题目 (冗余字段?)
     */
    ismatch?: boolean
    /**
     * 版本号
     */
    version?: string

    /**
     * 评级 (例如 Codeforces 难度分)
     */
    rating?: string
    /** AI 生成的标签 */
    ailabel?: string[]
    /**
     * 题目内容图片 (Markdown)
     */
    images?: string
  }

  /**
   * Special Judge 程序接口
   */
  export interface Ispecialjudge {
    /** SPJ ID */
    ID?: number
    /** SPJ 名称 */
    name?: string
    /** SPJ 描述 */
    description?: string
    /** SPJ 代码 */
    context?: string
    /** SPJ 代码 URL (?) */
    contexturl?: string
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
  }

  /**
   * 比赛中的题目接口 (可能包含比赛特定信息)
   */
  export interface Imatchquestion {
    /** 比赛题目 ID */
    ID?: number;
    /** 题目类型 */
    type?: Iquestiontype;
    /** 题目描述 (Markdown) */
    context?: string;
    /** 答案 (选择题/填空题) */
    answer?: {
      answer: string | number | boolean | string[];
      options: string[];
    };
    /** 答案解析 */
    answeranalysis?: string;
    /** 知识点标签 */
    knowledgepoints?: string[];
    /** 普通标签 */
    label?: string[];
    /** 难度: '1' (最易) 到 '7' (最难) */
    difficulty?: '1' | '2' | '3' | '4' | '5' | '6' | '7';
    /** 示例测试用例 */
    example?: Itestcases[];
    /** 内存限制 (MB) */
    memorylimit?: number;
    /** 时间限制 (ms) */
    timelimit?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 正确选项键 (?) */
    rightkey?: number;
    /** 题目在比赛中的分数 */
    score?: number;
    /** 题目名称 (比赛中可能隐藏) */
    name?: string;
    /** 提示 */
    tips?: string;
    /** 背景描述 */
    background?: string;
    /** 输入格式描述 */
    inputformat?: string;
    /** 输出格式描述 */
    outputformat?: string;
    /** 创建者用户 ID */
    userid?: number;
    /** 题目范围/来源 */
    range?: 'public' | 'team' | 'match' | 'user' | 'codeforces' | 'accoder';
    /** 是否公开 */
    isopen?: boolean;
    /** 分数计算方式 */
    scorecalculation?: 'add' | 'max' | 'min' | 'maxmin';
    /** 所属比赛题库 ID */
    questionbankid?: number;
    /** 排序 (?) */
    paixu?: number;
    /** 原始题目 ID (如果引用自公共题库) */
    oldid?: number;
    /** 关联的比赛题库信息 */
    questionbank?: Imatchquestionbank;
    /** 创建者用户信息 */
    user?: Iuser;
    /** Special Judge 程序信息 */
    specialjudge?: Ispecialjudge;
    /** 是否使用 Special Judge */
    isspecialjudge?: boolean
    /** Special Judge 程序 ID */
    specialjudgeid?: number
    /** 用户在此题目的提交记录 */
    matchuserquestion?: Imatchuserquestion[]
    /**
     * 示例测试用例 (重复?)
     */
    exampletest?: Itestcases[]
    /** 子任务计分方式 */
    subtask?: 'add' | 'group'
    /** 评级 */
    rating?: string
    /** 题目内容图片 */
    images?: string
  }

  /**
   * 题目讨论/评论接口
   */
  export interface Iquestioncomment {
    /** 评论 ID */
    ID?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 用户 ID */
    userid?: number;
    /** 题目 ID */
    questionid?: number;
    /** 评论内容 */
    context?: string;
    /** 评论内容的 HTML 格式 */
    htmlcontext?: string;
    /** 父评论 ID (用于回复) */
    pid?: number;
    /** 点赞数 */
    fabulous?: number;
    /** 评论者用户信息 */
    user?: Iuser;
    /** 关联的题目信息 */
    question?: Iquestion;
    /** 点赞此评论的用户列表 */
    fabulouscomment?: Ifabulouscomment[];
    /** 是否置顶 */
    top?: boolean;
    /** 状态 (例如: 0 待审核, 1 通过, 2 拒绝) */
    state?: number
    /** 审核意见/信息 */
    examine?: string
    /** 回复此评论的列表 */
    questioncommenta?: Iquestioncomment[]
    /** 拒绝原因 */
    rejectreason?: string
  }

  /**
   * 评论点赞接口
   */
  export interface Ifabulouscomment {
    /** 点赞 ID */
    ID: number;
    /** 点赞用户 ID */
    userid?: number;
    /** 被点赞的题目评论 ID */
    questioncommentid: number;
    /** 点赞者用户信息 */
    user?: Iuser;
    /** 被点赞的题目评论信息 */
    questioncomment?: Iquestioncomment;
  }

  /**
   * 题库接口
   */
  export interface Iquestionbank {
    /** 题库 ID */
    ID?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 题库名称 */
    name?: string;
    /** 题库类型: 'code' (编程题), 'text' (文本?), 'choice' (选择题) */
    type?: 'code' | 'text' | 'choice';
    /** 用户类型/范围: 'public' (公开), 'team' (团队), 'match' (比赛), 'user' (用户) */
    usertype?: 'public' | 'team' | 'match' | 'user';
    /** 创建者用户 ID */
    userid?: number;
    /** 创建者团队 ID */
    teamid?: number;
    /** 题库描述 (Markdown) */
    context?: string;
    /** 题库描述 (HTML) */
    htmlcontext?: string;
    /** 标签 */
    label?: string[];
    /** 是否显示 */
    show?: boolean;
    /** 是否公开 */
    isopen?: boolean;
    /** 是否默认 (?) */
    isdf?: boolean;
    /** 关联的活动 */
    activityquestionbank?: Iactivityquestionbank[];
    /** 包含的题目 */
    questionquestionbank?: Iquestionquestionbank[];
    /** 用户的做题记录 (?) */
    userquestion?: Iuserquestion[];
    /** 关联的团队信息 */
    team?: Iteam;
    /** 关联的用户信息 */
    user?: Iuser;
    /** 关联的标签 */
    questionbanklabel?: Iquestionbanklabel[];
    /** 包含的题目数量 */
    questionquestionbankcount?: number
    /** 用途: '赛前集训', '能力测评' */
    purpose?: '赛前集训' | '能力测评'
    /** 置顶级别 */
    top?: number
  }

  /**
   * 题库标签关联接口 (重复定义?)
   */
  export interface Iquestionbanklabel {
    /** 关联 ID */
    ID?: number;
    /** 标签 ID */
    labelid?: number;
  }

  /**
   * 比赛题库接口
   */
  export interface Imatchquestionbank {
    /** 比赛题库 ID */
    ID?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 题库名称 */
    name?: string;
    /** 题库类型 */
    type?: 'code' | 'text' | 'choice';
    /** 题库描述 */
    context?: string;
    /** 标签 */
    label?: string[];
    /** 关联的活动 ID */
    activityid?: number;
    /** 关联的活动信息 */
    activity?: Iactivity;
    /** 包含的比赛题目 */
    matchquestion?: Imatchquestion[];
  }

  /**
   * 题目与题库关联接口
   */
  export interface Iquestionquestionbank {
    /** 关联 ID */
    ID?: number;
    /** 题目 ID */
    questionid?: number;
    /** 题库 ID */
    questionbankid?: number;
    /** 排序索引 */
    sortindex?: number;
    /** 关联的题目信息 */
    question?: Iquestion;
    /** 关联的题库信息 */
    questionbank?: Iquestionbank;
    /** 得分 (?) */
    df?: number
  }

  /**
   * 用户接口
   */
  export interface Iuser {
    /** 用户 ID */
    ID?: number;
    /** 用户名 */
    name?: string;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 最后登录时间 */
    lasttime?: Date;
    /** 备注 */
    remarks?: string;
    /** 头像 URL */
    headportrait?: string;
    /** 背景图片 URL */
    background?: string;
    /** 密码 (通常是哈希值) */
    password?: string;
    /** 邮箱 */
    email?: string;
    /** 手机号 */
    phonenum?: string;
    /** 个人简介 (Markdown) */
    context?: string;
    /** 个人简介 (HTML) */
    htmlcontext?: string;
    /** 获奖经历 */
    awards?: { time: string; data: string }[];
    /** 用户的提交记录 (普通题目) */
    userquestion?: Iuserquestion[];
    /** 用户的提交记录 (比赛题目) */
    matchuserquestion?: Imatchuserquestion[];
    /** 用户类型: 'user' (普通用户), 'teacher' (教师), 'manage' (管理员), 'admin' (超级管理员) */
    type?: 'user' | 'teacher' | 'manage' | 'admin';
    /** QQ 号 */
    qq?: string;
    /** 微信 OpenID */
    openid?: string;
    /** A ID (?) */
    aid?: string;
    /** B ID (?) */
    bid?: string;
    /** C ID (?) */
    cid?: string;
    /** 返回时间 (?) */
    backAt?: Date;
    /** G ID (?) */
    gid?: string;
    /** 加入的团队列表 */
    teamuser?: Iteamuser[];
    /** 当前所属团队 ID (?) */
    teamid?: number
    /** 其他信息 (JSON) */
    info?: any
    /** 个性签名 */
    autograph?: any
    /** 创建或管理的团队列表 */
    team?: Iteam[]
    /** Codeforces 相关配置 */
    codeforcesoption?: {
      /** 最后更新时间戳 */
      lastUpdate?: number,
      /** Cookie */
      cookie?: string,
      /** CSRF Token */
      csrfToken?: string
      /** Codeforces Handle */
      handle?: string
    }
    /** Codeforces 邮箱 */
    codeforcesemail?: string
    /** Codeforces 密码 */
    codeforcespassword?: string,
    /** 微信 UnionID */
    unionid?: string,
    /**
     * 真实姓名
     */
    xingming?: string
    /** 用户 VIP 信息 */
    uservip?: Iuservip[]
    /** 租户 ID */
    tenant_id?: string
  }

  /**
   * 测试用例定义类型
   */
  export type Itestcases = {
    /** 输入数据 */
    input?: string;
    /** 预期输出数据 */
    output?: string;
    /** 是否对用户可见 (示例测试点) */
    isshow?: boolean;
    /** 测试点分数 */
    score?: number;
    /** 数据类型: 'data' (直接存储), 'url' (通过 URL 获取) */
    type?: 'data' | 'url';
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 索引 A (?) */
    indexA?: number;
    /** 分组 A (?) */
    groupA?: number;
    /** 测试用例 ID */
    ID?: number;
    /** 关联的题目 ID */
    questionid?: number;
  };

  /**
   * 用户提交的单个测试点运行结果接口
   */
  export interface Iuserquestioninfo extends Itestcases {
    /** 标准错误输出 */
    stderr?: string;
    /** 实际输出 */
    output?: string;
    /** 标准输出 */
    stdout?: string;
    /** 得分 */
    score?: number;
    /** 评测结果消息 (可能是答案或状态) */
    msg?: string | number | boolean | string[];
    /** 答案 (选择题/填空题) */
    answer?: string | number | boolean | string[];
    /** 输入数据 */
    input?: string;
    /** 数据类型 */
    type?: 'data' | 'url';
    /** 是否正确 */
    result?: boolean;
    /** 任何错误信息 */
    anyerror?: string;
    /** 运行时间 (ms) */
    t?: number;
    /** 消耗内存 (KB) */
    memory?: number;
    /** 错误代码或信息 */
    error?: number | unknown | { code: string; message: string };
    /** 结果类型 (枚举键) */
    resultdata?: keyof IALLTYPE;
    /** 输出文件 URL (如果输出过大) */
    outurl?: string;
    /** 请求 ID (关联评测任务) */
    requestid?: string;
    /** 结果类型 (枚举值) */
    tn?: IALLTYPE[keyof IALLTYPE];
    /** 时间错误信息 (?) */
    timeerror?: string;
    /** Special Judge 返回信息 */
    spj?: string
  }

  /**
   * 用户对普通题目的提交记录接口
   */
  export interface Iuserquestion {
    /** 提交 ID */
    ID?: number;
    /** 用户 ID */
    userid?: number;
    /** 创建时间 (提交时间) */
    createdAt?: Date;
    /** 提交内容 (代码) */
    context?: string;
    /** 最终结果是否正确 (AC) */
    result?: boolean;
    /** 题库 ID */
    questionbankid?: number;
    /** 题目 ID */
    questionid?: number;
    /** 运行时间 (总?) */
    time?: number;
    /** 输出 (?) */
    output?: string;
    /** 消耗时间 (格式化字符串?) */
    timeconsuming?: string;
    /** 最大内存消耗 (格式化字符串?) */
    maximummemory?: string;
    /** 题目类型 */
    type?: Iquestiontype;
    /** 详细评测信息 (每个测试点) */
    info?: Iuserquestioninfo[] | Iuserquestioninfo;
    /** 分数计算方式 */
    scorecalculation?: 'add' | 'max' | 'min' | 'maxmin';
    /** 提交者用户信息 */
    user?: Iuser;
    /** 请求 ID */
    requestid?: string;
    /** 关联的题目信息 */
    question?: Iquestion;
    /** 关联的题库信息 */
    questionbank?: Iquestionbank;
    /** 编程语言 */
    language?: string;
    /** 测试 ID (?) */
    testid?: string;
    /** 最终评测结果 */
    resultdata?: keyof IALLTYPE | '正确' | '错误';
    /** 每个测试点的结果数组 */
    resultdataarr?: Array<keyof IALLTYPE>;
    /** 总得分 */
    df?: number;
    /** GCC 优化选项 */
    gccoptimize?: '-O0' | '-O' | '-O2' | '-O3'
    /** 团队 ID (如果与团队相关) */
    teamid?: number
    /** 是否是文件提交 */
    isfile?: boolean
    /** 题目答案 */
    images?: string[]

  }

  /**
   * 结果数据接口 (似乎过于简单?)
   */
  export interface Iresultdata {
    /** 分数 */
    score: number;
  }

  /**
   * 用户对比赛题目的提交记录接口
   */
  export interface Imatchuserquestion {
    /** 提交 ID */
    ID?: number;
    /**
     * 用户 ID
     */
    userid?: number;
    /**
     * 创建时间 (提交时间)
     */
    createdAt?: string;
    /**
     * 提交内容 (代码)
     */
    context?: string;
    /**
     * 最终结果是否正确 (AC)
     */
    result?: boolean;
    /**
     * 比赛题目 ID
     */
    questionid?: number;
    /**
     * 答题用时 (从比赛开始计算?)
     */
    time?: string;
    /** 输出 (?) */
    output?: string;
    /**
     * 运行最大时间 (格式化字符串?)
     */
    timeconsuming?: string;
    /**
     * 运行最大内存 (格式化字符串?)
     */
    maximummemory?: string;
    /**
     * 题目类型
     */
    type?: Iquestiontype;
    /**
     * 详细评测信息 (每个测试点)
     */
    info?: Iuserquestioninfo[] | Iuserquestioninfo;
    /**
     * 比赛 ID
     */
    activityid?: number;
    /** 分数计算方式 */
    scorecalculation?: 'add' | 'max' | 'min' | 'maxmin';
    /**
     * 提交者用户信息
     */
    user?: Iuser;
    /**
     * 请求 ID
     */
    requestid?: string;
    /**
     * 关联的比赛题目信息
     */
    matchquestion?: Imatchquestion;
    /**
     * 编程语言
     */
    language?: keyof Ilang;
    /**
     * 最终评测结果
     */
    resultdata?: keyof IALLTYPE | '正确' | '错误';
    /**
     * 每个测试点的结果数组
     */
    resultdataarr?: (keyof IALLTYPE)[];
    /**
     * 得分
     */
    df?: number;
    /**
     * GCC 优化选项
     */
    gccoptimize?: '-O0' | '-O' | '-O2' | '-O3'
    /**
     * 团队 ID (如果与团队相关)
     */
    teamid?: number
    /**
     * 是否是文件提交
     */
    isfile?: boolean
    /** 关联的比赛题目信息 (重复?) */
    question?: Imatchquestion
    /** 关联的比赛信息 */
    activity?: Iactivity
    /** 题目答案 (图片?) */
    images?: string[]
  }

  /**
   * 标签接口 (用于题目、题库等)
   */
  export interface ILabel {
    /** 标签 ID */
    ID?: number;
    /** 标签类型 (例如: 'difficulty', 'algorithm', 'knowledge') */
    type?: string;
    /** 标签名称 */
    name?: '题目标签' | '题目知识点' | '题单标签' | string;
    /** 父标签 ID (用于层级结构) */
    pid?: number;
    /** 附加信息 (例如: 难度级别) */
    info?: '普及' | '提高' | 'NOI及以上';
    /** 子标签列表 */
    children?: ILabel[];
    /** 租户 ID */
    tenant_id?: string
  }

  /**
   * 选项设置接口 (可能用于 UI 配置)
   */
  export interface OptionSetup {
    /** 名称 */
    name?: string;
    /** URL */
    url?: string;
    /** 子选项列表 */
    list?: OptionSetup[];
  }

  /**
   * 系统设置/配置接口
   */
  export interface Isetup {
    /** 横幅及相关配置 */
    banner: {
      /** 横幅列表 */
      banner?: { url: string; image: string }[];
      /** 左侧列表 (?) */
      leftlist?: {
        url?: string;
        context?: string;
        htmlcontext?: string;
        name?: string;
      }[];
      /** 推荐比赛 ID 列表 */
      competition?: number[];
      /** 更新信息 1 (?) */
      update1?: {
        url?: string;
        name?: string;
        list?: { name?: string; url?: string }[];
      };
      /** 选项配置 */
      option?: OptionSetup[];
      /** 测试 1 (?) */
      test1?: { url: string; name: string }[];
    };
    /** 左侧列表 (重复?) */
    leftlist?: {
      url?: string;
      context?: string;
      htmlcontext?: string;
      name?: string;
    }[];
    /** 推荐比赛 ID 列表 (重复?) */
    competition?: number[];
  }

  /**
   * 团队接口
   */
  export interface Iteam {
    /** 团队 ID */
    ID?: number;
    /** 团队名称 */
    name?: string;
    /** 团队信息 (?) */
    info?: string;
    /** 团队类型 (例如: 'vip') */
    type?: 'vip';
    /** 团队等级 */
    grade?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 创建者/管理员用户 ID */
    userid?: number;
    /** 团队简介 (Markdown) */
    context?: string;
    /** 团队简介 (HTML) */
    htmlcontext?: string;
    /** 加入方式: 'open' (开放加入), 'close' (关闭加入), 'search' (需要申请) */
    inuser?: 'open' | 'close' | 'search';
    /** 是否需要邀请码 */
    iscode?: boolean
    /** 团队成员列表 */
    teamuser?: Iteamuser[];
    /** 团队日志 */
    teamlog?: Iteamlog[];
    /** 团队任务 */
    teamtask?: Iteamtask[];
    /** 团队用户分组 */
    teamusergroup?: Iteamusergroup[];
    /** 团队课程分组 */
    teamcoursegroup?: Iteamcoursegroup[];
    /** 团队地址信息 */
    teamhome?: Iteamhome[];
    /** 创建者用户信息 */
    user?: Iuser;
    /** 团队描述 */
    description?: string
    /** 是否显示排行榜 */
    isranking?: boolean
    /** 是否允许成员分享题目: 0 (不允许), 1 (允许), 2 (?), 3 (?) */
    allowquestion?: 0 | 1 | 2 | 3
    /** 是否允许成员分享题单: 0 (不允许), 1 (允许), 2 (?), 3 (?) */
    allowquestionbank?: 0 | 1 | 2 | 3
    /** 团队图标 URL */
    icon?: string
    /** 团队主题色 */
    color?: string
    /** 关注/订阅数 */
    follow?: number
    /** 当前用户是否是管理员 */
    isadmin?: boolean
    /**
     * 是否允许管理员查看成员测评记录
     */
    isadminshowquestion?: boolean
    /**
     * 是否允许管理员查看成员比赛记录
     */
    isadminshowactivity?: boolean
    /**
     * 是否允许管理员查看排行榜 (?)
     */
    isadminshowrank?: boolean
    /**
     * 是否在排行榜显示用户自建题目成绩
     */
    isruserquestion?: boolean
    /**
     * 团队邀请码/Key
     */
    teamkey?: string
    /**
     * 团队横幅图片列表
     */
    banner?: any[]
    /**
     * 其他自定义信息
     */
    other?: Record<string, any>
    /** 租户 ID */
    tenant_id?: string
    /** 团队定义的题目难度标签 */
    questiondifficulty?: string[]
    /** 团队定义的题目标签 */
    questionlable?: string[]
    /** 团队内部题目 ID 列表 (?) */
    questionidin?: string[]
  }

  /**
   * 团队成员接口
   */
  export interface Iteamuser {
    /** 关联 ID */
    ID?: number;
    /** 用户 ID */
    userid?: number;
    /** 团队 ID */
    teamid?: number;
    /** 是否是管理员: 0 (成员), 1 (管理员), 2 (创建者), 3 (?), 4 (?) */
    isAdmin?: 0 | 1 | 2 | 3 | 4;
    /** 权限/状态: '0' (已加入), '1' (申请中), '2' (邀请中), '3' (已拒绝) */
    jurisdiction?: '0' | '1' | '2' | '3';
    /** 所属用户分组 ID */
    teamusergroupid?: number;
    /** 用户名 (冗余) */
    username?: string;
    /** 关联的用户信息 */
    user?: Iuser;
    /** 加入时间/创建时间 */
    createdAt?: Date;
    /** 关联的团队信息 */
    team?: Iteam;
    /** 申请/邀请备注 */
    context?: string;
  }

  /**
   * 团队日志接口
   */
  export interface Iteamlog {
    /** 日志 ID */
    ID?: number;
    /** 团队 ID */
    teamid?: number;
    /** 操作用户 ID */
    userid?: number;
    /** 操作用户名 (冗余) */
    username?: string;
    /** 日志类型: '申请', '留言', '通知', '修改', '更新' 等 */
    type?: '申请' | '留言' | '通知' | string | '修改' | '更新';
    /** 日志内容 (Markdown) */
    context?: string;
    /** 日志内容 (HTML) */
    htmlcontext?: string;
    /** 创建时间 */
    createdAt?: Date;
  }

  /**
   * 团队任务接口
   */
  export interface Iteamtask {
    /** 任务 ID */
    ID?: number;
    /** 团队 ID */
    teamid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 任务内容 (Markdown) */
    context?: string;
    /** 任务内容 (HTML) */
    htmlcontext?: string;
    /** 任务名称 */
    name?: string;
    /** 截止时间 */
    endtime?: Date;
    /** 更新时间 */
    updateAt?: Date;
    /** 创建者用户 ID */
    userid?: number;
    /** 附加信息 (?) */
    info?: string;
    /** 创建者用户信息 */
    user?: Iuser;
    /** 关联的团队信息 */
    team?: Iteam;
    /** 任务参与/完成情况 */
    teamtaskuser?: Iteamtaskuser[];
  }

  /**
   * 团队任务与用户关联接口
   */
  export interface Iteamtaskuser {
    /** 关联 ID */
    ID?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updateAt?: Date;
    /** 用户 ID */
    userid?: number;
    /** 状态: '0' (任务开启/未完成), '1' (已完成), '2' (?), '3' (?) */
    type?: '0' | '1' | '2' | '3';
    /** 关联的用户信息 */
    user?: Iuser;
  }

  /**
   * 团队用户分组接口
   */
  export interface Iteamusergroup {
    /** 分组 ID */
    ID?: number;
    /** 团队 ID */
    teamid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 分组名称 */
    name: string;
    /** 分组描述 */
    description?: string;
    /** 更新时间 */
    updateAt?: Date;
    /** 分组内的成员 */
    teamuser?: Iteamuser[];
  }

  /**
   * 通知/公告接口
   */
  export interface Inotice {
    /** 通知 ID */
    ID?: number;
    /** 发布者用户 ID */
    userid?: number;
    /** 通知标题 */
    name?: string;
    /** 通知内容 (Markdown) */
    context?: string;
    /** 通知内容 (HTML) */
    htmlcontext?: string;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 附加信息 (?) */
    info?: string;
    /** 通知描述/摘要 */
    description?: string;
    /** 目标团队 ID (如果是团队通知) */
    teamid?: number;
    /** 关联的团队信息 */
    team?: Iteam;
    /** 发布者用户信息 */
    user?: Iuser;
    /** 用户的阅读状态 */
    usernotice?: Iusernotice[];
  }

  /**
   * 用户通知阅读状态接口
   */
  export interface Iusernotice {
    /** 关联 ID */
    ID?: number;
    /** 用户 ID */
    userid?: number;
    /** 通知 ID */
    noticeid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 是否已读 */
    issee?: boolean;
    /** 关联的通知信息 */
    notice?: Inotice;
    /** 关联的用户信息 */
    user?: Iuser;
  }

  /**
   * 用户贡献的测试用例接口
   */
  export interface Iquestiontestcasesuser {
    /** 贡献 ID */
    ID?: number;
    /** 题目 ID */
    questionid?: number;
    /** 用户 ID */
    userid?: number;
    /** 输入数据 */
    input?: string;
    /** 输出数据 */
    output?: string;
    /** 创建时间 */
    createdAt?: Date;
    /** 状态: 0 (待审核), 1 (通过), 2 (未通过) */
    isuse?: number;
    /** 更新时间 */
    updatedAt?: Date;
    /** 分组 A (?) */
    groupA?: number;
    /** 索引 A (?) */
    indexA?: number;
    /** 备注/说明 (Markdown) */
    context?: string;
    /** 备注/说明 (HTML) */
    contexthtml?: string;
    /** 关联的题目信息 */
    question?: Iquestion;
    /** 关联的通过记录 (?) */
    testcasesaccepted?: Itestcasesaccepted[];
    /** 数据类型 */
    type?: 'data' | 'url';
    /** 审核意见 */
    examine?: string
    /** 拒绝原因 */
    rejectreason?: string
    /** 是否重复 */
    repeat?: boolean
  }

  /**
   * 通过的提交与测试用例关联接口 (?)
   */
  export interface Itestcasesaccepted {
    /** 关联 ID */
    ID?: number;
    /** 通过提交 ID */
    acceptedid?: number;
    /** 测试用例 ID (可能是用户贡献的 ID) */
    testcasesid?: number;
    /** 是否通过此测试用例 */
    result?: boolean;
    /** 运行时间 (ms) */
    time?: number;
    /** 输出 */
    output?: string;
    /** 消耗时间 (格式化字符串?) */
    timeconsuming?: string;
    /** 最大内存消耗 (格式化字符串?) */
    maximummemory?: string;
    /** 详细评测信息 */
    info?: Iuserquestioninfo;
    /** 请求 ID */
    requestid?: string;
    /** 编程语言 */
    language?: string;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: string;
    /** 关联的通过提交信息 */
    accepted?: Iaccepted;
    /** 关联的用户贡献测试用例信息 */
    questiontestcasesuser?: Iquestiontestcasesuser;
  }

  /**
   * 团队课程分组接口
   */
  export interface Iteamcoursegroup {
    /** 关联 ID */
    ID?: number;
    /** 团队 ID */
    teamid?: number;
    /** 关联的团队信息 */
    team?: Iteam;
    /** 课程分组 ID */
    coursegroupid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
  }

  /**
   * 题目与标签关联接口
   */
  export interface Iquestionlabel {
    /** 关联 ID */
    ID?: number;
    /** 题目 ID */
    questionid?: number;
    /** 标签 ID */
    labelid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 关联的标签信息 */
    label?: ILabel;
    /** 关联的题目信息 */
    question?: Iquestion;
  }

  /**
   * 题库与标签关联接口 (与 Iquestionbanklabel 重复?)
   */
  export interface Iquestionbanklabel {
    /** 关联 ID */
    ID?: number;
    /** 题库 ID (这里应该是 questionbankid) */
    questionid?: number; // Typo? Should be questionbankid
    /** 标签 ID */
    labelid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
    /** 关联的标签信息 */
    label?: ILabel;
    /** 关联的题库信息 */
    questionbank?: Iquestionbank;
  }

  /**
   * 测试用例下载记录接口
   */
  export interface Idownloadtestcase {
    /** 下载记录 ID */
    ID?: number;
    /** 测试用例 ID */
    testcaseid?: number;
    /** 下载用户 ID */
    userid?: number;
    /** 创建时间 */
    createdAt?: Date;
    /** 更新时间 */
    updatedAt?: Date;
  }

  /**
   * 用户下载记录接口 (通用?)
   */
  export interface Iuserdownload {
    /** 下载记录 ID */
    ID?: number;
    /** 测试用例 (?) */
    testcase?: number;
    /** 用户 ID */
    userid?: number;
    /** 创建时间 */
    createdAt?: Date;
  }

  /**
   * 短信发送记录接口
   */
  export interface Isms {
    /** 短信记录 ID */
    ID?: number
    /** 发送者用户 ID (?) */
    userid?: number
    /** 接收者用户 ID (?) */
    touserid?: number
    /** 相关团队 ID (?) */
    teamid?: number
    /** 创建时间 */
    createdAt?: Date
    /** 接收手机号 */
    phonenum?: number | string
    /** 短信验证码 ID 或模板 ID */
    codeid?: string
    /** 发送状态: 0 (失败), 1 (成功), 2 (发送中) */
    state?: 0 | 1 | 2
    /** 短信内容 */
    context?: string
    /** 用户名 (模板变量?) */
    username?: string
    /** 密码 (模板变量?) */
    password?: string
    /** 团队名称 (模板变量?) */
    teamname?: string
    /** 活动 ID (模板变量?) */
    activityid?: number
    /** 活动名称 (模板变量?) */
    activityname?: string
    /** 关联的用户信息 (?) */
    user?: Iuser
    /**
     * 错误信息 (如果发送失败)
     */
    message?: string
  }

  /**
   * 比赛排名数据接口
   */
  export interface Imatchranking {
    /** 团队信息 (?) */
    teams?: any;
    /** 排名记录 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 用户名 (冗余) */
    username?: string
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
    /** 排名数据 (JSON 字符串?) */
    data?: string
    /** 总得分 */
    df?: number
    /** 活动 ID */
    activityid?: number,
    /** 开始时间 (?) */
    starttime?: Date,
    /** 结束时间 (?) */
    endtime?: Date
  }

  /**
   * 任务接口 (可能是后台任务)
   */
  export interface Itesk {
    /** 任务 ID */
    ID: number
    /** 任务名称 */
    name: string
    /** 任务主题/类型 */
    topic: string
    /** 模型 ID (?) */
    modelid: number
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
    /** 任务状态 */
    state: string
    /** 任务信息/日志 */
    info?: string
    /** 下一步任务/参数 (?) */
    next?: Record<string, any>
  }

  /**
   * 团队作业/任务接口
   */
  export interface Iteamjob {
    /** 作业 ID */
    ID?: number
    /** 团队 ID */
    teamid?: number
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
    /** 作业类型: 'question' (题目), 'video' (视频), 'file' (文件) */
    type?: 'question' | 'video' | 'file'
    /** 作业名称 */
    name?: string
    /** 作业描述 (Markdown) */
    description?: string
    /** 作业描述 (HTML) */
    descriptionhtml?: string
    /** 开始时间 */
    starttime?: Date
    /** 结束时间 */
    endtime?: Date
    /** 题目数量 (如果是题目类型) */
    questionnum?: number
    /** AC 题目数量 (?) */
    questionac?: number
    /** 备注 */
    remarks?: string
    /** 奖励 */
    reward?: string
    /** 关联的团队信息 */
    team?: Iteam
    /** 作业关联项 (题目/视频/文件) */
    teamjobrelation?: Iteamjobrelation[]
    /** 是否开放 */
    isopen?: boolean
    /**
     * 是否面向全部团员
     */
    isall?: boolean
    /**
     * 是否允许加入 (?)
     */
    isjoin?: boolean
    /** 作业包含的题目列表 */
    jobquestion?: Ijobquestion[]
  }

  /**
   * 团队作业关联项接口
   */
  export interface Iteamjobrelation {
    /** 关联 ID */
    ID?: number
    /** 题目 ID (如果是题目类型) */
    questionid?: number
    /** 团队作业 ID */
    teamjobid?: number
    /** 用户 ID (表示用户完成状态?) */
    userid?: number
    /** 完成状态 */
    state?: boolean
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
    /** 关联的团队作业信息 */
    teamjob?: Iteamjob
    /** 用户提交记录 ID (?) */
    userquestionid?: number
    /** 课程 ID (如果是视频类型?) */
    courseid?: number
    /** 课件包 ID (?) */
    catebagid?: number
    /** 观看视频记录 ID 列表 (?) */
    watchvideoid?: { ID: number, time: number, proportion: number }[]
    /** 团队文件下载 ID (?) */
    teamfiledownloadid?: number
    /** 团队文件 ID (如果是文件类型) */
    teamfileid?: number
  }

  /**
   * 自动测试接口 (可能是手机验证码测试?)
   */
  export interface Iautotest {
    /** 测试 ID */
    ID?: number
    /** 创建时间戳 */
    createdAt?: number
    /** 手机号 */
    tel?: string
    /** 测试数据 (步骤和结果?) */
    data?: [string, boolean][]
  }

  /**
   * 题解接口 (简单版本?)
   */
  export interface Isolution {
    /** 题解 ID */
    ID?: number
    /** 题解内容 */
    context?: string
    /** 用户 ID */
    userid?: number
    /** 相关代码 */
    code?: string
    /** 编程语言 */
    lang?: string
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
    /** 状态 (审核?) */
    state?: number
    /** 审核意见 */
    examine?: string
    /** 置顶级别 */
    top?: number
  }

  /**
   * 用户题解接口
   */
  export interface Iusersolution {
    /** 题解 ID */
    ID?: number
    /**
     * 内容 (Markdown)
     */
    context?: string
    /**
     * 用户 ID
     */
    userid?: number
    /**
     * 代码
     */
    code?: string
    /**
     * 语言
     */
    lang?: keyof Ilang
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
    /**
     * 状态: 0 (不通过), 1 (通过), 2 (待审核)
     */
    state?: number
    /**
     * 审核意见
     */
    examine?: string
    /**
     * 置顶级别
     */
    top?: number
    /**
     * 点赞数量
     */
    fabulous?: number
    /**
     * 内容 (HTML)
     */
    htmlcontext?: string
    /**
     * 题目 ID
     */
    questionid?: number
    /** 父题解 ID (用于回复) */
    pid?: number
    /**
     * 回复列表
     */
    usersolutiona?: Iusersolution[]
    /** 拒绝原因 */
    rejectreason?: string
    /** 关联的题目信息 */
    question?: Iquestion
    /**
     * 提交代码的评测结果 (例如 AC)
     */
    result?: keyof IALLTYPE
    /**
     * 代码查重结果/报告
     */
    coderepeat?: string
    /**
     * 思路/文本查重结果/报告
     */
    textrepeat?: string
    /** 纯文本内容 (用于查重) */
    text?: string
    /** 提交者用户信息 */
    user?: Iuser
  }

  /**
   * 积分记录接口
   */
  export interface Iintegral {
    /** 记录 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /**
     * 积分来源类型: '比赛', '题解贡献', '测试点贡献', '金币'(?), '练习'
     */
    type?: '比赛' | '题解贡献' | '测试点贡献' | '金币' | '练习'
    /**
     * 是否已使用/消耗
     */
    state?: boolean
    /**
     * 描述信息
     */
    describe?: string
    /**
     * 积分数量 (正数表示获得, 负数表示消耗)
     */
    num?: number
    /**
     * 关联的其他 ID (例如比赛 ID, 题解 ID)
     */
    atherid?: number
    /** 关联的用户信息 */
    user?: Iuser
  }

  /**
   * 团队文件接口
   */
  export interface Iteamfile {
    /** 文件 ID */
    ID?: number
    /** 团队 ID */
    teamid?: number
    /** 文件名 */
    name?: string
    /** 文件 URL */
    url?: string
    /** 文件类型 (MIME Type) */
    type?: string
    /** 文件大小 (Bytes) */
    size?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 关联的团队信息 */
    team?: Iteam
  }

  /**
   * 团队流量/存储使用情况接口
   */
  export interface Iteamflow {
    /** 记录 ID */
    ID?: number
    /** 团队 ID */
    teamid?: number
    /** 总存储空间配额 (Bytes?) */
    size?: number
    /** 总流量配额 (Bytes?) */
    flow?: number
    /** 已用存储空间 (Bytes?) */
    usesize?: number
    /** 已用流量 (Bytes?) */
    useflow?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 是否可用/正常 */
    isok?: boolean
  }

  /**
   * 团队签到记录接口
   */
  export interface Iteamsignin {
    /** 签到 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 团队 ID */
    teamid?: number
    /** 签到内容/留言 */
    context?: string
    /** 签到图片 URL 列表 */
    image?: string[]
    /** 创建时间 (签到时间) */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 签到用户信息 */
    user?: Iuser
    /** 关联的签到活动 ID */
    signinactivityid?: number
    /** 关联的签到活动信息 */
    signinactivity?: Isigninactivity
    /** 是否已签到 (冗余?) */
    issignin?: boolean
  }

  /**
   * 签到活动接口
   */
  export interface Isigninactivity {
    /** 活动 ID */
    ID?: number
    /** 活动名称 */
    name?: string
    /** 开始提示文本 */
    starttext?: string
    /** 结束提示文本 */
    endtext?: string
    /** 开始时间 */
    starttime?: string
    /** 结束时间 */
    endtime?: string
    /** 签到次数 (?) */
    signincount?: number
    /** 是否需要用户 (?) */
    isuser?: boolean
    /** 是否需要文本留言 */
    istext?: boolean
    /** 是否需要上传图片 */
    isimage?: boolean
    /** 是否限制时间 */
    istime?: boolean
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 参与的签到记录 */
    teamsignin?: Iteamsignin[]
    /** 相关 URL (?) */
    url?: string
  }

  /**
   * 用户参与签到活动关联接口
   */
  export interface Iusersigninactivity {
    /** 关联 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 签到活动 ID */
    signinactivityid?: number
    /** 关联的用户信息 */
    user?: Iuser,
    /** 关联的签到活动信息 */
    signinactivity?: Isigninactivity
  }

  /**
   * 题目与团队关联接口 (共享/权限)
   */
  export interface Iquestionteam {
    /** 关联 ID */
    ID?: number
    /** 用户 ID (操作者?) */
    userid?: number
    /** 题目 ID */
    questionid?: number
    /** 团队 ID */
    teamid?: number
    /** 关联的题目信息 */
    question?: Iquestion
    /** 关联的团队信息 */
    team?: Iteam
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
  }

  /**
   * 题库与团队关联接口 (共享/权限)
   */
  export interface Iquestionbankteam {
    /** 关联 ID */
    ID?: number
    /** 用户 ID (操作者?) */
    userid?: number
    /** 题库 ID */
    questionbankid?: number
    /** 团队 ID */
    teamid?: number
    /** 关联的题库信息 */
    questionbank?: Iquestionbank
    /** 关联的团队信息 */
    team?: Iteam
    /** 创建时间 */
    createdAt?: Date
    /** 更新时间 */
    updatedAt?: Date
  }

  /**
   * 团队地址信息接口
   */
  export interface Iteamhome {
    /** 地址 ID */
    ID?: number
    /** 团队 ID */
    teamid?: number
    /** 详细地址 */
    home?: string
    /** 创建时间 */
    createdAt?: Date | string
    /** 更新时间 */
    updatedAt?: Date | string
    /**
     * 城市
     */
    city?: string
    /**
     * 国家
     */
    country?: string
    /**
     * 省份
     */
    province?: string
    /**
     * 区/县
     */
    area?: string
    /**
     * 街道
     */
    street?: string
    /**
     * 经度
     */
    longitude?: number
    /**
     * 纬度
     */
    dimension?: number
    /**
     * 学校名称
     */
    school?: string
    /**
     * 组织名称
     */
    organization?: string
    /**
     * 公司名称
     */
    company?: string
    /**
     * 个人 (?)
     */
    user?: string
    /** 关联的团队信息 */
    team?: Iteam
  }

  /**
   * 云监控/数据大屏接口
   */
  export interface Icloudmonitorn {
    /** 记录 ID */
    ID?: number
    /**
     * 总人数
     */
    numberofpeople?: number
    /**
     * 参与测评人数
     */
    evaluation?: number
    /**
     * 测评参与率
     */
    evaluationrate?: number
    /**
     * 登录用户测评参与率
     */
    issigninevaluationrate?: number
    /**
     * 总测评人次
     */
    assessmentpersontime?: number
    /**
     * 测评准确率 (?)
     */
    evaluationaccuracy?: number
    /**
     * 每月测评人数统计
     */
    evaluationmonth?: { day: string, count: string }[]
    /**
     * 每月观看视频人数统计
     */
    videomonth?: { day: string, count: string }[]
    /**
     * 各区域测评人数统计
     */
    evaluationarea?: { day: string, count: string }[]
    /**
     * 各区域观看视频人数统计
     */
    videoarea?: { day: string, count: string }[]
    /**
     * 各标签题目数量统计
     */
    numberoflabels?: { day: string, count: string }[]
    /**
     * 各标签使用比率统计
     */
    labelratio?: { day: string, count: string }[]
    /**
     * 团队列表 (?)
     */
    team?: Iteam[]
    /**
     * 团队测评排行
     */
    teamranking?: { day: string, count: string }[]
    /**
     * 学生测评排行
     */
    studentranking?: { day: string, count: string }[]
    /**
     * 团队视频观看排行
     */
    teamvideoranking?: { day: string, count: string }[]
    /**
     * 学生视频观看排行
     */
    studentvideoranking?: { day: string, count: string }[]
    /**
     * 大屏名称
     */
    name?: string
    /**
     * 大屏描述
     */
    description?: string
    /**
     * 大屏标题
     */
    title?: string
  }

  /**
   * 科研用户接口 (?)
   */
  export interface Iscienceuser {
    /** 关联 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 是否是管理员 */
    isadmin?: boolean
    /** 创建时间 */
    createdAt?: Date | string
    /** 更新时间 */
    updatedAt?: Date | string
    /** 关联的用户信息 */
    user?: Iuser
    /** 类型 (?) */
    type?: string
  }

  /**
   * 视频观看记录接口
   */
  export interface Iwatchvideo {
    /** 记录 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 关联的用户信息 */
    user?: Iuser
    /** 课程/视频 ID */
    courseid?: number
    /** 观看时长 (秒?) */
    time?: number
    /** 观看比例 (0-1) */
    proportion?: number
    /** 更新时间 */
    updatedAt?: Date | string
    /** 创建时间 */
    createdAt?: Date | string
  }

  /**
   * 团队文件下载记录接口
   */
  export interface Iteamfiledwonload { // Typo: should be Iteamfiledownload
    /** 下载记录 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 关联的用户信息 */
    user?: Iuser
    /** 团队文件 ID */
    teamfileid?: number
    /** 文件大小 (Bytes) */
    size?: number
    /** 文件名 */
    name?: string
    /** 更新时间 */
    updatedAt?: Date | string
    /** 创建时间 (下载时间) */
    createdAt?: Date | string
  }

  /**
   * 芝麻信用用户关联接口 (?)
   */
  export interface Izhimahuuser {
    /** 关联 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 关联的用户信息 */
    user?: Iuser
    /** 微信 UnionID */
    unionid?: string
    /** 微信 OpenID */
    openid?: string
    /** 更新时间 */
    updatedAt?: Date | string
    /** 创建时间 */
    createdAt?: Date | string
    /** 手机号 */
    phonenum?: string
    /** 关系 (?) */
    relationship?: string
  }

  /**
   * 积分兑换奖品接口
   */
  export interface Iintegralreward {
    /** 奖品 ID */
    ID?: number
    /** 奖品名称 */
    name?: string
    /** 库存数量 */
    num?: number
    /** 所需积分 */
    integral?: number
    /** 创建时间 */
    createdAt?: Date | string
    /** 更新时间 */
    updatedAt?: Date | string
    /** 奖品描述 (Markdown) */
    context?: string
    /** 剩余数量 */
    remainingquantity?: number
    /** 奖品描述 (HTML) */
    contexthtml?: string
    /** 奖品图片 URL */
    image?: string
    /** 是否已下架 */
    offshelf?: boolean
  }

  /**
   * 用户兑换积分奖品记录接口
   */
  export interface Iintegralrewarduser {
    /** 兑换记录 ID */
    ID?: number
    /** 用户 ID */
    userid?: number
    /** 奖品 ID */
    integralrewardid?: number
    /** 创建时间 (兑换时间) */
    createdAt?: Date | string
    /** 更新时间 */
    updatedAt?: Date | string
    /** 消耗积分 */
    integral?: number
    /** 奖品名称 (冗余) */
    name?: string
    /** 关联的奖品信息 */
    integralreward?: Iintegralreward
    /** 关联的用户信息 */
    user?: Iuser
    /** 备注 (例如收货地址) */
    notes?: string
    /** 用户手机号 */
    userphone?: string
    /** 收货地址 */
    address?: string
    /** 状态 (例如: 0 待处理, 1 已发货, 2 已完成) */
    state?: number
    /** 收货人姓名 */
    username?: string
    /** 其他信息 (?) */
    ather?: string
  }

  /**
   * 作业与题目/资源关联接口
   */
  export interface Ijobquestion {
    /** 关联 ID */
    ID?: number
    /** 题目 ID */
    questionid?: number
    /** 团队 ID */
    teamid?: number
    /** 作业 ID */
    jobid?: number
    /** 排序索引 */
    index?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 课程 ID (如果是视频) */
    courseid?: number
    /** 团队文件 ID (如果是文件) */
    teamfileid?: number
    /** 课件包 ID (?) */
    catebagid?: number
    /** 观看视频 ID (?) */
    watchvideoid?: number
    /** 关联的团队信息 */
    team?: Iteam
    /** 关联的团队作业信息 */
    teamjob?: Iteamjob
  }

  /**
   * 客服信息接口
   */
  export interface Icustomerservice {
    /** 客服 ID */
    ID?: number
    /** 客服名称/昵称 */
    name?: string
    /** 二维码图片 URL */
    qrcode?: string
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 附加信息 (?) */
    info?: string
    /** 描述 */
    description?: string
  }

  /**
   * VIP 等级列表接口
   */
  export interface Iviplist {
    /** VIP 等级 ID */
    ID?: number
    /** VIP 等级名称 */
    name?: string
    /** 备注 */
    remarks?: string
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 关联的 VIP 数据权限 */
    vipdataviplist?: Ivipdataviplist[]
  }

  /**
   * VIP 数据/功能接口
   */
  export interface Ivipdata {
    /** VIP 数据项 ID */
    ID?: number
    /** 数据项名称 */
    name?: string
    /** 备注 */
    remarks?: string
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 租户 ID */
    tenant_id?: string
  }

  /**
   * VIP 数据与 VIP 等级关联接口
   */
  export interface Ivipdataviplist {
    /** 关联 ID */
    ID?: number
    /** VIP 等级 ID */
    viplistid?: number
    /** VIP 数据项 ID */
    vipdataid?: number
    /** 关联的 VIP 等级信息 */
    viplist?: Iviplist
  }

  /**
   * 用户 VIP 状态接口
   */
  export interface Iuservip {
    /** 关联 ID */
    ID?: number
    /** VIP 等级 ID */
    viplistid?: number
    /** 用户 ID */
    userid?: number
    /** 创建时间 (成为 VIP 时间) */
    createdAt?: string
    /** 更新时间 (或到期时间?) */
    updatedAt?: string
    /** 关联的用户信息 */
    user?: Iuser
    /** 关联的 VIP 等级信息 */
    viplist?: Iviplist
    /**
     * VIP 权限 ID (?)
     */
    vipauthorityid?: number
    /** 拥有的 VIP 权限列表 */
    vipauthority?: Ivipauthority[]
    /** 租户 ID */
    tenant_id?: string
  }

  /**
   * VIP 权限接口
   */
  export interface Ivipauthority {
    /** 权限 ID */
    ID?: number
    /** 权限名称 */
    name?: string
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 权限描述 */
    description?: string
    /** 关联的标签权限 */
    vipauthoritylabel?: Ivipauthoritylabel[]
    /** 租户 ID */
    tenant_id?: string
  }

  /**
   * VIP 权限与标签关联接口
   */
  export interface Ivipauthoritylabel {
    /** 关联 ID */
    ID?: number
    /** VIP 权限 ID */
    vipauthorityid?: number
    /** 标签 ID */
    labelid?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 关联的标签信息 */
    label?: ILabel
    /** 关联的 VIP 权限信息 */
    vipauthority?: Ivipauthority
    /** 租户 ID */
    tenant_id?: string
  }

  /**
   * VIP 权限与精选题目标签关联接口
   */
  export interface Ivipquestionselectedlabel {
    /** 关联 ID */
    ID?: number
    /** 精选题目标签关联 ID */
    questionselectedlabelid?: number
    /** VIP 权限 ID */
    vipauthorityid?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 关联的 VIP 权限信息 */
    vipauthority?: Ivipauthority
    /** 关联的精选题目标签信息 */
    questionselectedlabel?: Iquestionselectedlabel
  }

  /**
   * 精选题目标签关联接口
   */
  export interface Iquestionselectedlabel {
    /** 关联 ID */
    ID?: number
    /** 题目 ID */
    questionid?: number
    /** 标签 ID */
    labelid?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 关联的标签信息 */
    label?: ILabel
    /** 关联的题目信息 */
    question?: Iquestion
  }

  /**
   * 团队角色接口
   */
  export interface Iteamrole {
    /** 角色 ID */
    ID?: number
    /** 团队 ID */
    teamid?: number
    /** 关联的团队信息 */
    team?: Iteam
    /** 角色名称 */
    name?: string
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 拥有的路由权限名称列表 */
    routername?: string[]
  }

  /**
   * 团队路由权限定义接口
   */
  export interface Iteamrouter {
    /** 路由权限 ID */
    ID?: number
    /** 权限名称 */
    name?: string
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /** 权限描述 */
    description?: string
    /** 对应的路由路径/标识符 */
    router?: string
  }

  /**
   * 团队用户与角色关联接口
   */
  export interface Iteamuserrole {
    /** 关联 ID */
    ID?: number
    /** 团队 ID */
    teamid?: number
    /** 用户 ID */
    userid?: number
    /** 角色 ID */
    roleid?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
  }

  /**
   * 比赛总结接口
   */
  export interface Imatchsummary {
    /** 总结 ID */
    ID?: number
    /**
     * 比赛 ID
     */
    activityid?: number
    /**
     * 用户 ID
     */
    userid?: number
    /**
     * 题目数量 (?)
     */
    questionnum?: number
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /**
     * 比赛总结内容 (Markdown)
     */
    context?: string
    /**
     * 关联的用户信息
     */
    user?: Iuser
    /**
     * 关联的比赛信息
     */
    activity?: Iactivity
    /**
     * 关联的题目总结列表
     */
    matchsummaryuser?: Imatchsummaryuser[]
  }

  /**
   * 比赛题目总结接口
   */
  export interface Imatchsummaryuser {
    /** 题目总结 ID */
    ID?: number
    /**
     * 比赛 ID
     */
    activityid?: number
    /**
     * 用户 ID
     */
    userid?: number
    /**
     * 比赛题目 ID
     */
    questionid?: number
    /**
     * 比赛题目名称 (冗余)
     */
    questionname?: string
    /** 创建时间 */
    createdAt?: string
    /** 更新时间 */
    updatedAt?: string
    /**
     * 题目总结内容 (Markdown)
     */
    context?: string
    /**
     * 在此题目的得分
     */
    df?: number
    /**
     * 答题用时 (?)
     */
    time?: string
    /**
     * 关联的用户信息
     */
    user?: Iuser
    /**
     * 关联的比赛信息
     */
    activity?: Iactivity
    /**
     * 关联的比赛总结 ID
     */
    matchsummaryid?: number
    /**
     * 关联的比赛总结信息 (似乎是反向关联?)
     */
    matchsummary?: Imatchsummary[]
  }

  /**
   * 题目黑名单标签接口 (?)
   */
  export interface Iquestionblack {
    /** 黑名单记录 ID */
    ID?: number
    /**
     * 黑名单标签 ID
     */
    labelid?: string
    /** 关联的标签信息 */
    label?: ILabel
    /**
     * 创建时间
     */
    createdAt?: string
    /**
     * 更新时间
     */
    updatedAt?: string
    /**
     * 题目 ID
     */
    questionid?: number
    /**
     * 关联的题目信息
     */
    question?: Iquestion
  }

  /**
   * AI 聊天模型配置接口
   */
  export interface Ichatmodel {
    /** 模型 ID */
    ID?: number
    /** API Key */
    key?: string
    /** 模型名称 */
    name?: string
    /** API Base URL */
    baseURL?: string
    /** 模型标识符 (例如 'gpt-3.5-turbo') */
    model?: string
    /** 最大 Token 限制 */
    maxtoken?: number
    /** 状态 (例如 0 禁用, 1 启用) */
    state?: number
    /** 描述 */
    description?: string
    /** 相关 URL */
    url?: string
    /** 模型类型 */
    type?: string
    /**
     * 创建时间
     */
    createdAt?: string
    /**
     * 更新时间
     */
    updatedAt?: string
  }

  /**
   * AI 聊天 Prompt 配置接口
   */
  export interface Ichatprompt {
    /** Prompt ID */
    ID?: number
    /**
     * 创建时间
     */
    createdAt?: string
    /**
     * 更新时间
     */
    updatedAt?: string
    /**
     * System Prompt 内容
     */
    system?: string
    /**
     * User Prompt 模板
     */
    prompt?: string
    /** 适用的模型标识符 (?) */
    model?: string
    /** Prompt 分组 */
    group?: string
    /** 输出格式 Schema (JSON Schema?) */
    schema?: Record<string, any>
    /** 适用的模型 ID 列表 */
    modelsId?: number[]
    /** Prompt 名称 */
    name?: string
    /** 生成温度参数 */
    temperature?: number
  }

  /**
   * ACAI 生成内容接口 (?)
   */
  export interface Iacaicontent {
    /** 内容 ID */
    ID?: number
    /**
     * 创建时间
     */
    createdAt?: string
    /**
     * 更新时间
     */
    updatedAt?: string
    /** 生成步骤/日志 */
    step?: Record<string, any>
    /** 生成的内容 */
    content?: string
    /** 生成状态 */
    state?: string
    /** 语言 (?) */
    lang?: string
    /** Mongoose ID (?) */
    mongooseId?: string
    /** 评测信息 (如果生成的是代码并进行了评测) */
    info?: Iuserquestioninfo[] | Iuserquestioninfo
    /** 评测结果是否正确 */
    result?: boolean
    /** 评测结果数组 */
    resultdataarr?: Array<keyof IALLTYPE>
    /** 附加消息 */
    message?: string
    /** 关联的题目 ID */
    questionid?: number
    /** 关联的题目信息 */
    question?: Iquestion
    /** 生成的代码 */
    code?: string
  }

  export interface Iliveurl {
    /** 直播 URL ID */
    ID?: number;
    /** 直播平台 (例如 'bilibili', 'douyin') */
    platform?: string;
    /** 直播 URL */
    url?: string;
    /** 直播标题 */
    title?: string;
    /** 直播封面图片 URL */
    cover?: string;
    /** 创建时间 */
    createdAt?: Date | string;
    /** 更新时间 */
    updatedAt?: Date | string;
    /** 介绍 */
    description?: string;
  }
}

export default Studycodemodel;
